﻿using Support;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AlgoritmoConstrutivo
{
    public class InfoFormatter
    {
        private FileInfo fi;

        /// <summary>
        /// Gera um arquivo texto por instancia das gerações que conseguiram melhoras nos MQs
        /// </summary>
        public void PersistirInformacoesGeracoes(List<Estatistica> infoPorGeracao, String nomeInstancia, String pathInstancias,int execucao )
        {
            this.fi = new FileInfo(pathInstancias + "\\" + nomeInstancia +"_"+ execucao + "_Geracao.csv");

            String cabecalho = "Mq;Geracao" + Environment.NewLine;
            String resulFinal = "";

            Decimal mqAtual = 0;


            foreach (Estatistica est in infoPorGeracao)
            {
                if (mqAtual < est.Mq)
                {
                    mqAtual = est.Mq;
                    resulFinal += mqAtual + ";" + est.Geracao + Environment.NewLine;
                }
            }

            cabecalho += resulFinal;

            File.WriteAllText(this.fi.FullName, cabecalho);


        }
    }
}
